//
//  Dictionary.h
//  Words2
//
//  Created by Mathieu on 22/08/06.
//  Copyright 2006 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "WWManagedObject.h"
@class LanguageMO;
@class NetworkConnectionMonitor;

// Class to manage the abstract entity "Dictionary". 
// Declairs methods that subclasses that provide specific 
// information about the type of dictionaries being used are meant to override.
@interface DictionaryMO : WWManagedObject < NSCoding > {
	bool inUse;
	NSImage* imageCache; //for icon
}
#pragma mark Archive Support
- (void)encodeWithCoder:(NSCoder *)coder;
- (id)initWithCoder:(NSCoder *)coder;

//methods subclasses must override
- (NSString *)define:(NSString *)word;
- (NSArray *)arrayOfDefinitions:(NSString *)word;
-(NSMutableString *)stringBlobOfDefinitions:(NSString *)word;
-(NetworkConnectionMonitor *)networkConnectionMonitor;
-(void)createConnectionMonitor;

-(void)setInUse:(bool)value;
-(bool)inUse;
-(bool)isAvailable;
-(void)connect;
@end
